<!--
  Copyright JS Foundation and other contributors, http://js.foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<script type="text/html" data-help-name="csv">
    <p>Convertit une chaîne au format CSV en une représentation d'objet JavaScript, et inversément.</p>
    <h3>Entrées</h3>
    <dl class="message-properties">
        <dt>payload<span class="property-type">objet | tableau | chaîne de caractères</span></dt>
        <dd>Un objet JavaScript, un tableau ou une chaîne CSV.</dd>
    </dl>
    <h3>Sorties</h3>
    <dl class="message-properties">
        <dt>payload<span class="property-type">objet | tableau | chaîne de caractères</span></dt>
        <dd>
        <ul>
            <li>Si l'entrée est une chaîne, le noeud essaie de l'analyser en tant que CSV et crée un objet JavaScript de paires clé/valeur pour chaque ligne.
                Le noeud enverra alors soit un message pour chaque ligne, soit un seul message contenant un tableau d'objets.</li>
            <li>Si l'entrée est un objet JavaScript, le noeud essaie de créer une chaîne CSV.</li>
            <li>Si l'entrée est un tableau de valeurs simples, le noeud crée une chaîne CSV sur une seule ligne.</li>
            <li>Si l'entrée est un tableau de tableaux ou un tableau d'objets, une chaîne CSV multiligne est créée.</li>
        </ul>
        </dd>
    </dl>
    <h3>Détails</h3>
    <p>Le modèle de colonne peut contenir une liste ordonnée de noms de colonnes. Lors de la conversion de CSV en objet, les noms de colonne
        seront utilisés comme noms de propriété. Alternativement, les noms de colonne peuvent être tirés de la première ligne du CSV.
        <p>Lorsque l'analyseur RFC est sélectionné, le modèle de colonne doit être conforme à la norme RFC4180.</p>
    </p>
    <p>Lors de la conversion au format CSV, le modèle de colonnes est utilisé pour identifier les propriétés à extraire de l'objet et dans quel ordre.</p>
    <p>Si le modèle de colonnes est vide, vous pouvez utiliser une simple liste de propriétés séparées par des virgules fournies dans <code>msg.columns</code> pour
        déterminer quoi extraire et dans quel ordre. Si ni l'un ni l'autre n'est présent, toutes les propriétés de l'objet sont sorties dans l'ordre
        dans lesquelles les propriétés se trouvent dans la première ligne.</p>
    <p>Si l'entrée est un tableau, le modèle de colonnes n'est utilisé que pour éventuellement générer une ligne de titres de colonne.</p>
    <p>Si l'option 'analyser les valeurs numériques' est cochée, les valeurs numériques de la chaîne seront renvoyées sous forme de nombres, c'est à dire. valeur médiane '1,"1.5",'2'.</p>
    <p>Si l'option 'inclure les chaînes vides' est cochée, les chaînes vides seront renvoyées dans le résultat, c'est à dire. valeur médiane '1,"",3'.</p>
    <p>Si l'option 'inclure les valeurs nulles' est cochée, les valeurs nulles seront renvoyées dans le résultat, c'est à dire. valeur médiane '1,,3'.</p>
    <p>Le noeud peut accepter une entrée en plusieurs parties tant que la propriété <code>parts</code> est correctement définie, par exemple à partir d'un noeud de fichier d'entrée ou d'un noeud divisé.</p>
    <p>Si vous produisez plusieurs messages, leur propriété <code>parts</code> sera définie et formera une séquence de messages complète.</p>
    <p>Si le noeud est configuré pour n'envoyer qu'une seule fois les en-têtes de colonne, la définition de <code>msg.reset</code> sur n'importe quelle valeur entraînera le renvoi des en-têtes par le noeud.</p>
    <p><b>Remarque</b> : le modèle de colonne doit être séparé par des virgules, même si un séparateur différent est choisi pour les données.</p>
</script>
